package com.jari.lg.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DeverrRtEntityExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DeverrRtEntityExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andDeviceidIsNull() {
            addCriterion("deviceid is null");
            return (Criteria) this;
        }

        public Criteria andDeviceidIsNotNull() {
            addCriterion("deviceid is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceidEqualTo(String value) {
            addCriterion("deviceid =", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidNotEqualTo(String value) {
            addCriterion("deviceid <>", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidGreaterThan(String value) {
            addCriterion("deviceid >", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidGreaterThanOrEqualTo(String value) {
            addCriterion("deviceid >=", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidLessThan(String value) {
            addCriterion("deviceid <", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidLessThanOrEqualTo(String value) {
            addCriterion("deviceid <=", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidLike(String value) {
            addCriterion("deviceid like", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidNotLike(String value) {
            addCriterion("deviceid not like", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidIn(List<String> values) {
            addCriterion("deviceid in", values, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidNotIn(List<String> values) {
            addCriterion("deviceid not in", values, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidBetween(String value1, String value2) {
            addCriterion("deviceid between", value1, value2, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidNotBetween(String value1, String value2) {
            addCriterion("deviceid not between", value1, value2, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDevicenameIsNull() {
            addCriterion("devicename is null");
            return (Criteria) this;
        }

        public Criteria andDevicenameIsNotNull() {
            addCriterion("devicename is not null");
            return (Criteria) this;
        }

        public Criteria andDevicenameEqualTo(String value) {
            addCriterion("devicename =", value, "devicename");
            return (Criteria) this;
        }

        public Criteria andDevicenameNotEqualTo(String value) {
            addCriterion("devicename <>", value, "devicename");
            return (Criteria) this;
        }

        public Criteria andDevicenameGreaterThan(String value) {
            addCriterion("devicename >", value, "devicename");
            return (Criteria) this;
        }

        public Criteria andDevicenameGreaterThanOrEqualTo(String value) {
            addCriterion("devicename >=", value, "devicename");
            return (Criteria) this;
        }

        public Criteria andDevicenameLessThan(String value) {
            addCriterion("devicename <", value, "devicename");
            return (Criteria) this;
        }

        public Criteria andDevicenameLessThanOrEqualTo(String value) {
            addCriterion("devicename <=", value, "devicename");
            return (Criteria) this;
        }

        public Criteria andDevicenameLike(String value) {
            addCriterion("devicename like", value, "devicename");
            return (Criteria) this;
        }

        public Criteria andDevicenameNotLike(String value) {
            addCriterion("devicename not like", value, "devicename");
            return (Criteria) this;
        }

        public Criteria andDevicenameIn(List<String> values) {
            addCriterion("devicename in", values, "devicename");
            return (Criteria) this;
        }

        public Criteria andDevicenameNotIn(List<String> values) {
            addCriterion("devicename not in", values, "devicename");
            return (Criteria) this;
        }

        public Criteria andDevicenameBetween(String value1, String value2) {
            addCriterion("devicename between", value1, value2, "devicename");
            return (Criteria) this;
        }

        public Criteria andDevicenameNotBetween(String value1, String value2) {
            addCriterion("devicename not between", value1, value2, "devicename");
            return (Criteria) this;
        }

        public Criteria andCrossidIsNull() {
            addCriterion("crossid is null");
            return (Criteria) this;
        }

        public Criteria andCrossidIsNotNull() {
            addCriterion("crossid is not null");
            return (Criteria) this;
        }

        public Criteria andCrossidEqualTo(String value) {
            addCriterion("crossid =", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidNotEqualTo(String value) {
            addCriterion("crossid <>", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidGreaterThan(String value) {
            addCriterion("crossid >", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidGreaterThanOrEqualTo(String value) {
            addCriterion("crossid >=", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidLessThan(String value) {
            addCriterion("crossid <", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidLessThanOrEqualTo(String value) {
            addCriterion("crossid <=", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidLike(String value) {
            addCriterion("crossid like", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidNotLike(String value) {
            addCriterion("crossid not like", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidIn(List<String> values) {
            addCriterion("crossid in", values, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidNotIn(List<String> values) {
            addCriterion("crossid not in", values, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidBetween(String value1, String value2) {
            addCriterion("crossid between", value1, value2, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidNotBetween(String value1, String value2) {
            addCriterion("crossid not between", value1, value2, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossnameIsNull() {
            addCriterion("crossname is null");
            return (Criteria) this;
        }

        public Criteria andCrossnameIsNotNull() {
            addCriterion("crossname is not null");
            return (Criteria) this;
        }

        public Criteria andCrossnameEqualTo(String value) {
            addCriterion("crossname =", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameNotEqualTo(String value) {
            addCriterion("crossname <>", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameGreaterThan(String value) {
            addCriterion("crossname >", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameGreaterThanOrEqualTo(String value) {
            addCriterion("crossname >=", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameLessThan(String value) {
            addCriterion("crossname <", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameLessThanOrEqualTo(String value) {
            addCriterion("crossname <=", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameLike(String value) {
            addCriterion("crossname like", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameNotLike(String value) {
            addCriterion("crossname not like", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameIn(List<String> values) {
            addCriterion("crossname in", values, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameNotIn(List<String> values) {
            addCriterion("crossname not in", values, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameBetween(String value1, String value2) {
            addCriterion("crossname between", value1, value2, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameNotBetween(String value1, String value2) {
            addCriterion("crossname not between", value1, value2, "crossname");
            return (Criteria) this;
        }

        public Criteria andRoadidIsNull() {
            addCriterion("roadid is null");
            return (Criteria) this;
        }

        public Criteria andRoadidIsNotNull() {
            addCriterion("roadid is not null");
            return (Criteria) this;
        }

        public Criteria andRoadidEqualTo(String value) {
            addCriterion("roadid =", value, "roadid");
            return (Criteria) this;
        }

        public Criteria andRoadidNotEqualTo(String value) {
            addCriterion("roadid <>", value, "roadid");
            return (Criteria) this;
        }

        public Criteria andRoadidGreaterThan(String value) {
            addCriterion("roadid >", value, "roadid");
            return (Criteria) this;
        }

        public Criteria andRoadidGreaterThanOrEqualTo(String value) {
            addCriterion("roadid >=", value, "roadid");
            return (Criteria) this;
        }

        public Criteria andRoadidLessThan(String value) {
            addCriterion("roadid <", value, "roadid");
            return (Criteria) this;
        }

        public Criteria andRoadidLessThanOrEqualTo(String value) {
            addCriterion("roadid <=", value, "roadid");
            return (Criteria) this;
        }

        public Criteria andRoadidLike(String value) {
            addCriterion("roadid like", value, "roadid");
            return (Criteria) this;
        }

        public Criteria andRoadidNotLike(String value) {
            addCriterion("roadid not like", value, "roadid");
            return (Criteria) this;
        }

        public Criteria andRoadidIn(List<String> values) {
            addCriterion("roadid in", values, "roadid");
            return (Criteria) this;
        }

        public Criteria andRoadidNotIn(List<String> values) {
            addCriterion("roadid not in", values, "roadid");
            return (Criteria) this;
        }

        public Criteria andRoadidBetween(String value1, String value2) {
            addCriterion("roadid between", value1, value2, "roadid");
            return (Criteria) this;
        }

        public Criteria andRoadidNotBetween(String value1, String value2) {
            addCriterion("roadid not between", value1, value2, "roadid");
            return (Criteria) this;
        }

        public Criteria andRoadnameIsNull() {
            addCriterion("roadname is null");
            return (Criteria) this;
        }

        public Criteria andRoadnameIsNotNull() {
            addCriterion("roadname is not null");
            return (Criteria) this;
        }

        public Criteria andRoadnameEqualTo(String value) {
            addCriterion("roadname =", value, "roadname");
            return (Criteria) this;
        }

        public Criteria andRoadnameNotEqualTo(String value) {
            addCriterion("roadname <>", value, "roadname");
            return (Criteria) this;
        }

        public Criteria andRoadnameGreaterThan(String value) {
            addCriterion("roadname >", value, "roadname");
            return (Criteria) this;
        }

        public Criteria andRoadnameGreaterThanOrEqualTo(String value) {
            addCriterion("roadname >=", value, "roadname");
            return (Criteria) this;
        }

        public Criteria andRoadnameLessThan(String value) {
            addCriterion("roadname <", value, "roadname");
            return (Criteria) this;
        }

        public Criteria andRoadnameLessThanOrEqualTo(String value) {
            addCriterion("roadname <=", value, "roadname");
            return (Criteria) this;
        }

        public Criteria andRoadnameLike(String value) {
            addCriterion("roadname like", value, "roadname");
            return (Criteria) this;
        }

        public Criteria andRoadnameNotLike(String value) {
            addCriterion("roadname not like", value, "roadname");
            return (Criteria) this;
        }

        public Criteria andRoadnameIn(List<String> values) {
            addCriterion("roadname in", values, "roadname");
            return (Criteria) this;
        }

        public Criteria andRoadnameNotIn(List<String> values) {
            addCriterion("roadname not in", values, "roadname");
            return (Criteria) this;
        }

        public Criteria andRoadnameBetween(String value1, String value2) {
            addCriterion("roadname between", value1, value2, "roadname");
            return (Criteria) this;
        }

        public Criteria andRoadnameNotBetween(String value1, String value2) {
            addCriterion("roadname not between", value1, value2, "roadname");
            return (Criteria) this;
        }

        public Criteria andDevicetypeIsNull() {
            addCriterion("devicetype is null");
            return (Criteria) this;
        }

        public Criteria andDevicetypeIsNotNull() {
            addCriterion("devicetype is not null");
            return (Criteria) this;
        }

        public Criteria andDevicetypeEqualTo(String value) {
            addCriterion("devicetype =", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeNotEqualTo(String value) {
            addCriterion("devicetype <>", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeGreaterThan(String value) {
            addCriterion("devicetype >", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeGreaterThanOrEqualTo(String value) {
            addCriterion("devicetype >=", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeLessThan(String value) {
            addCriterion("devicetype <", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeLessThanOrEqualTo(String value) {
            addCriterion("devicetype <=", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeLike(String value) {
            addCriterion("devicetype like", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeNotLike(String value) {
            addCriterion("devicetype not like", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeIn(List<String> values) {
            addCriterion("devicetype in", values, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeNotIn(List<String> values) {
            addCriterion("devicetype not in", values, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeBetween(String value1, String value2) {
            addCriterion("devicetype between", value1, value2, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeNotBetween(String value1, String value2) {
            addCriterion("devicetype not between", value1, value2, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicestateIsNull() {
            addCriterion("devicestate is null");
            return (Criteria) this;
        }

        public Criteria andDevicestateIsNotNull() {
            addCriterion("devicestate is not null");
            return (Criteria) this;
        }

        public Criteria andDevicestateEqualTo(Integer value) {
            addCriterion("devicestate =", value, "devicestate");
            return (Criteria) this;
        }

        public Criteria andDevicestateNotEqualTo(Integer value) {
            addCriterion("devicestate <>", value, "devicestate");
            return (Criteria) this;
        }

        public Criteria andDevicestateGreaterThan(Integer value) {
            addCriterion("devicestate >", value, "devicestate");
            return (Criteria) this;
        }

        public Criteria andDevicestateGreaterThanOrEqualTo(Integer value) {
            addCriterion("devicestate >=", value, "devicestate");
            return (Criteria) this;
        }

        public Criteria andDevicestateLessThan(Integer value) {
            addCriterion("devicestate <", value, "devicestate");
            return (Criteria) this;
        }

        public Criteria andDevicestateLessThanOrEqualTo(Integer value) {
            addCriterion("devicestate <=", value, "devicestate");
            return (Criteria) this;
        }

        public Criteria andDevicestateIn(List<Integer> values) {
            addCriterion("devicestate in", values, "devicestate");
            return (Criteria) this;
        }

        public Criteria andDevicestateNotIn(List<Integer> values) {
            addCriterion("devicestate not in", values, "devicestate");
            return (Criteria) this;
        }

        public Criteria andDevicestateBetween(Integer value1, Integer value2) {
            addCriterion("devicestate between", value1, value2, "devicestate");
            return (Criteria) this;
        }

        public Criteria andDevicestateNotBetween(Integer value1, Integer value2) {
            addCriterion("devicestate not between", value1, value2, "devicestate");
            return (Criteria) this;
        }

        public Criteria andDatetimeIsNull() {
            addCriterion("datetime is null");
            return (Criteria) this;
        }

        public Criteria andDatetimeIsNotNull() {
            addCriterion("datetime is not null");
            return (Criteria) this;
        }

        public Criteria andDatetimeEqualTo(Date value) {
            addCriterion("datetime =", value, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeNotEqualTo(Date value) {
            addCriterion("datetime <>", value, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeGreaterThan(Date value) {
            addCriterion("datetime >", value, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("datetime >=", value, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeLessThan(Date value) {
            addCriterion("datetime <", value, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeLessThanOrEqualTo(Date value) {
            addCriterion("datetime <=", value, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeIn(List<Date> values) {
            addCriterion("datetime in", values, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeNotIn(List<Date> values) {
            addCriterion("datetime not in", values, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeBetween(Date value1, Date value2) {
            addCriterion("datetime between", value1, value2, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeNotBetween(Date value1, Date value2) {
            addCriterion("datetime not between", value1, value2, "datetime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}